home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1980-01-01 | 3.9 KB | 101 lines |
- 10 PRINT," COMPUTER PROJECT (RF & MICRO II) BY WILLIAM L. CASTOR, JR
- 12 PRINT:PRINT, "via K2UYH/wa2tif":PRINT
- 15 PI=3.1416
- 20 REM PRECISION 4
- 30 REM ************ INPUT IMPEDANCE AND VOLTAGE CALULATION ************
- 40 REM OUTBYTE(26)
- 50 PRINT "THIS PROGRAM GIVES THE STUDENT THE ABILITY TO CALCULATE IMPEDANCE"
- 60 PRINT"OR VOLTAGE AT A GIVEN POINT ON A TRANSMISSION LINE."
- 70 PRINT"THE STUDENT MUST INPUT DISTANCE OF THE LOAD IN WAVELENGTHS"
- 80 PRINT"OR IN INCHES. IF THE DISTANCE IS IN INCHES, THE FREQUENCY"
- 90 PRINT"AND VELOCITY FACTOR MUST BE INPUTED.IN EITHER CASE THE"
- 100 PRINT "THE LOAD AND CHARACTERISTIC IMPEDANCE MUST BE INPUTED"
- 110 DG=180/PI
- 120 DEF FNMG(AR,AX)=SQR(AR^2+AX^2)
- 160 DEF FNR(MG,AG)=MG*COS(AG/DG)
- 170 DEF FNX(MG,AG)=MG*SIN(AG/DG)
- 180 PRINT:INPUT "DISTANCE IN (I)NCHES OR (W)AVELENGTHS";B$
- 190 IF B$ = "I" THEN GOTO 200 ELSE IF B$ = "W" THEN 270 ELSE GOTO 180
- 200 PRINT :INPUT "FREQUENCY IN (H)Z,(K)HZ, OR (M)HZ";A$
- 210 IF A$ = "H" THEN KF =1 ELSE IF A$ ="K" THEN KF = 1000 ELSE IF A$ = "M" THEN KF = 1E+06 ELSE GOTO 200
- 220 PRINT:INPUT "FREQUENCY ="; F :F = F*KF
- 230 INPUT "VELOCITY FACTOR =";VF
- 240 INPUT "LENGTH OF TRANSMISSION LINE FROM THE LOAD IN INCHES =";L
- 250 WL=1.1811E+10*VF/F:D=L/WL
- 260 GOTO 280
- 270 PRINT: INPUT "DISTANCE TO THE LOAD IN WAVELENGTHS =";D
- 280 PRINT : INPUT "REAL VALUE OF LOAD IMPEDANCE =";ZR
- 290 IF ZR =0 THEN ZR=0
- 300 INPUT "IMAJ VALUE OF LOAD IMPEDANCE =";ZX
- 310 IF ZX=0 THEN ZX=0
- 320 INPUT "CHARACTERISTIC IMPEDANCE VALUE = ";ZO
- 330 Z1=ZR/ZO:Z2=ZX/ZO:J1=TAN(2*PI*D)
- 340 NR=Z1:NX=Z2+J1
- 345 GOSUB 960
- 350 NM=FNMG(NR,NX):NA=FNAG(NR,NX)
- 360 DR=1-Z2*J1:DX=Z1*J1
- 370 DM=FNMG(DR,DX):DA=FNAG(DR,DX)
- 380 TM=ZO*NM/DM:TA=NA-DA
- 390 TR=FNR(TM,TA):TX=FNX(TM,TA)
- 400 REM OUTBYTE(26):N=0
- 410 IF B$ = "W" THEN GOTO 450
- 420 PRINT ,:PRINT , "INPUT FREQUENCY =";F
- 430 PRINT , "VELOCITY FACTOR =";VF
- 440 PRINT , : PRINT , "DISTANCE FROM LOAD IN INCHES ="; L
- 450 PRINT ,:PRINT , "DISTANCE FROM LOAD IN WAVELENGTHS =";D
- 460 PRINT ,:PRINT , "REAL VALUE OF LOAD IMPEDANCE =";ZR
- 470 PRINT , "IMAJ VALUE OF LOAD IMPEDANCE =";ZX
- 480 PRINT ,:PRINT , "CHARACTERISTIC IMPEDANCE =";ZO
- 490 PRINT ,:PRINT , "REAL VALUE OF INPUT IMPEDANCE =";TR
- 500 PRINT , "IMAJ VALUE OF INPUT IMPEDANCE =";TX
- 510 PRINT ,:PRINT , "MAG OF INPUT IMPEDANCE =";TM
- 520 PRINT , "ANG OF INPUT IMPEDANCE =";TA
- 540 REM PRINT:INPUT"DO YOU WANT A HARD COPY (Y/N)";N$
- 550 IF N$ = "Y" THEN N=2:GOTO 410
- 560 PRINT :INPUT "WANT TO CALCULATE VOLTAGE (Y/N) "; H$
- 570 REM ********************* VOLTAGE *********************************
- 580 IF H$ <> "Y" THEN GOTO 930
- 590 REM OUTBYTE(26)
- 600 PRINT : INPUT "MAGNITUDE SOURCE VOLTAGE = "; VM
- 610 INPUT "ANGLE OF SOURCE VOLTAGE = " ; VA
- 620 IF B$ = "I" THEN GOTO 660
- 630 PRINT : INPUT "DISTANCE FROM SOURCE TO LOAD IN WAVELENGTHS =";DX
- 640 IF DX >= D THEN GOTO 690 ELSE PRINT "DISTANCE FROM SOURCE TO LOAD MUST BE GREATER OR EQUAL TO ";D;"WAVELENGTHS" : GOTO 630
- 650 GOTO 690
- 660 PRINT:INPUT"DISTANCE FROM SOURCE TO LOAD IN INCHES =";LL
- 670 IF LL >= L THEN GOTO 680 ELSEPRINT "DISTANCE FROM SOURCE TO LOAD MUST BE GREATER OR EQUAL TO";L;"INCHES":GOTO 660
- 680 DX = LL/WL
- 690 DL = D
- 695 GOSUB 960
- 700 M = FNMG(ZR,ZX) : A = FNAG(ZR,ZX)
- 710 V1 = M*COS(2*PI*DL): V2 = A
- 720 V3 = FNR(V1,V2) : V4 = FNX(V1,V2)
- 730 V5 = ZO*SIN(2*PI*DL) :V6 = V4 + V5
- 735 GOSUB 960
- 740 V7 = FNMG(V3,V6) : V8 = FNAG(V3,V6)
- 750 Q1 = M*COS(2*PI*DX) : Q2 = A
- 760 Q3 = FNR(Q1,Q2) : Q4 = FNX(Q1,Q2)
- 770 Q5 = ZO*SIN(2*PI*DX) : Q6 = Q4 + Q5
- 775 GOSUB 960
- 780 Q7 = FNMG(Q3,Q6) : Q8 = FNAG(Q3,Q6)
- 790 YM = (VM*V7)/Q7 : YA = VA + V8 - Q8
- 800 REM OUTBYTE(26):N=0
- 810 PRINT , : PRINT , "MAGNITUDE SOURCE VOLTAGE = " ; VM
- 820 PRINT , "ANGLE OF SOURCE VOLTAGE = " ; VA
- 830 IF B$ = "W" THEN GOTO 860
- 840 PRINT , : PRINT , "DISTANCE FROM LOAD IN INCHES = " ; L
- 850 PRINT , "DISTANCE FROM SOURCE TO LOAD IN INCHES =" ; LL
- 860 PRINT , : PRINT , "DISTANCE TO LOAD IN WAVELENGTHS =" ; DL
- 870 PRINT , "DISTANCE SOURCE TO LOAD IN WAVELENGTHS =" ; DX
- 880 PRINT , : PRINT , "MAGNITUDE OF VOLTAGE = " ; YM
- 890 PRINT , "ANGLE OF VOLTAGE = " ; YA
- 900 REM IF N = 2 THEN GOTO 930
- 910 REM PRINT:INPUT"DO YOU WISH TO MAKE A HARD COPY (Y/N)";N$
- 920 IF N$ = "Y" THEN N = 2: GOTO 810
- 930 PRINT : INPUT "DO YOU WISH TO MAKE ANOTHER CALCULATION (Y/N)";Z$
- 940 REM IF Z$ = "Y" THEN OUTBYTE(26):GOTO 110
- 950 END
- 960 IF AR>0 THEN GOTO 970 ELSE GOTO 980
- 970 DEF FNAG(AR,AX)=DG*ATN(AR/AX):RETURN
- 980 DEF FNAG(AR,AX)=DG*(ATN(AR/AX)+PI):RETURN
-